//Programmierer: Christian Lechner, Benjamin Hirsch

#include "zeichnen.h"


void Zeichne_Statische_Elemente(HDC hdc)	//Schweißtisch,Laufbänder,Werkzeugschrank,Schiene
{
	int i1,i2;

/*Definition der Farben:*/	
	h_blau = CreateSolidBrush(RGB(0,0,255));
	h_gelb = CreateSolidBrush(RGB(255,255,150));
	h_lila = CreateSolidBrush(RGB(215,0,255));
	h_grau = CreateSolidBrush(RGB(200,200,200));
	h_weiss = CreateSolidBrush(RGB(255,255,255));
	h_braun = CreateSolidBrush(RGB(175,50,50));
	h_tuerkis = CreateSolidBrush(RGB(0,255,255));
	h_kariert = CreateHatchBrush(HS_DIAGCROSS,RGB(100,100,100));
	s_dick = CreatePen(PS_SOLID,5,RGB(0,0,0));
	s_duenn = CreatePen(PS_SOLID,1,RGB(0,0,0));


	//SelectObject(hdc,h_kariert);
	//Rectangle(hdc,0,0,1000,600);		//Fußboden
	
	SelectObject(hdc,h_gelb);
	Rectangle(hdc,-10,100,300,200);			//1. Fließband

	Rectangle(hdc,-10,400,300,500);		//2. Fließband
	
	Rectangle(hdc,600,400,1010,500);	//3. Fließband
	
	SelectObject(hdc,h_blau);
	Rectangle(hdc,250-5,300-r2-5,750+5,300+r2+5);	//Schiene
	SelectObject(hdc,h_weiss);
	Rectangle(hdc,250,300-r2,750,300+r2);

	SelectObject(hdc,h_kariert);
	Rectangle(hdc,450,130,550,80);		//Werkzeugschrank

	SelectObject(hdc,h_braun);
	Rectangle(hdc,710,280,895,165);		//Schweißtisch
	SelectObject(hdc,h_weiss);
	for (i1=0;i1<11;i1++)
		for (i2=0;i2<18;i2++)
			Rectangle(hdc, 715+i2*10, 170+i1*10, 720+i2*10, 175+i1*10);	
	
	DeleteObject(h_blau);
	DeleteObject(h_tuerkis);
	DeleteObject(h_weiss);
	DeleteObject(h_gelb);
	DeleteObject(h_kariert);
	DeleteObject(h_lila);
	DeleteObject(h_braun);
	DeleteObject(h_grau);
	DeleteObject(s_duenn);
	DeleteObject(s_dick);

}


void Zeichne_Dynamische_Elemente(HDC hdc)		//Arme,Hand,Schweißgerät,Blech
{
	int i;

/*Definition der Farben:*/	
	h_blau = CreateSolidBrush(RGB(0,0,255));
	h_gelb = CreateSolidBrush(RGB(255,255,150));
	h_lila = CreateSolidBrush(RGB(215,0,255));
	h_grau = CreateSolidBrush(RGB(200,200,200));
	h_weiss = CreateSolidBrush(RGB(255,255,255));
	h_braun = CreateSolidBrush(RGB(175,50,50));
	h_tuerkis = CreateSolidBrush(RGB(0,255,255));
	h_kariert = CreateHatchBrush(HS_DIAGCROSS,RGB(100,100,100));
	s_dick = CreatePen(PS_SOLID,5,RGB(0,0,0));
	s_duenn = CreatePen(PS_SOLID,1,RGB(0,0,0));

	
	SelectObject(hdc,h_grau);
	Zeichne_Polygon(hdc, blech1_n, anz_p_b1);		//Zeichnen Blech 1

	Zeichne_Polygon(hdc, blech2_n, anz_p_b2);		//Zeichnen Blech 2

	SelectObject(hdc,s_dick);
	for (i=0;i<z;i++)								//Zeichnen der Schweißpunkte
	{
		MoveToEx(hdc,(int)blech2_n[anz_p_b2+i][0],(int)blech2_n[anz_p_b2+i][1],NULL);
		LineTo(hdc,(int)blech2_n[anz_p_b2+i][0],(int)blech2_n[anz_p_b2+i][1]);
	}
	SelectObject(hdc,s_duenn);

	SelectObject(hdc,h_tuerkis);
	Zeichne_Polygon(hdc, schweisser_n,9);			//Schweißgerät
		
	Zeichne_Polygon(hdc, hand_n,18);				//Hand	

	SelectObject(hdc,h_lila);
	Zeichne_Arme(hdc, robo1_n, robo2_n);			//Arme

	DeleteObject(h_blau);
	DeleteObject(h_tuerkis);
	DeleteObject(h_weiss);
	DeleteObject(h_gelb);
	DeleteObject(h_kariert);
	DeleteObject(h_lila);
	DeleteObject(h_braun);
	DeleteObject(h_grau);
	DeleteObject(s_duenn);
	DeleteObject(s_dick);
}


void Zeichne_Polygon(HDC hdc, double punkt[][2], int anzp)
{
	POINT pt[100];
	int i;
	for (i=0;i<anzp;i++)
	{
		pt[i].x=(int)punkt[i][0];
		pt[i].y=(int)punkt[i][1];
	}

	Polygon(hdc, pt, anzp);
}




void Zeichne_Ellipse(HDC hdc, double mittelpunkt[], int radius_x, int radius_y)
{
	Ellipse(hdc, (int)mittelpunkt[0]-radius_x, (int)mittelpunkt[1]-radius_y,
		(int)mittelpunkt[0]+radius_x, (int)mittelpunkt[1]+radius_y);
}



void Zeichne_Arme(HDC hdc, double arm1[][2], double arm2[][2])
{
	Zeichne_Polygon(hdc,arm1,4);
	Zeichne_Ellipse(hdc,arm1[4],r1,r1);
	Zeichne_Ellipse(hdc,arm1[4],r2,r2);			
	Zeichne_Ellipse(hdc,arm1[5],r1,r1);
	Zeichne_Ellipse(hdc,arm1[5],r2,r2);

	Zeichne_Polygon(hdc,arm2,8);
	Zeichne_Ellipse(hdc,arm2[8],r3,r3);		
	Zeichne_Ellipse(hdc,arm2[8],r2,r2);
}



void Zeichne_Feuer(HDC hdc)
{
	int i;
	
	s_rot = CreatePen(PS_SOLID,1,RGB(255,0,0));

	for(i=0;i<8;i++)
		feuer_n[i][0] = feuer[i][0] + schweisser_n[0][0];
	for(i=0;i<8;i++)
		feuer_n[i][1] = feuer[i][1] + schweisser_n[0][1];


	SelectObject(hdc,s_rot);
	for(i=0;i<7;i++)
	{		
		MoveToEx(hdc,(int)feuer_n[7][0],(int)feuer_n[7][1],NULL);
		LineTo(hdc,(int)feuer_n[i][0],(int)feuer_n[i][1]);
	}
	DeleteObject(s_rot);

	Sleep(1000);
}
